from agno.agent import Agent
from agno.embedder.openai import OpenAIEmbedder  # 若未实际使用，可保留或删除
from agno.knowledge.pdf_url import PDFUrlKnowledgeBase  # 若未实际使用，可保留或删除
from agno.models.openai import OpenAILike
from agno.reranker.cohere import CohereReranker  # 若未实际使用，可保留或删除
from agno.vectordb.lancedb import LanceDb, SearchType  # 若未实际使用，可保留或删除

# 1. 原始文本与关键参数定义
original_text = 'static constexpr const char* SMART_LABEL_CLASSIFICATION_FILE_IV ="aef763d92205dd8b68ab520d71346e85";'
api_key = "sk-c4W8fCqxsjTEVkxRD7YIofvgfkFV81YQbuM09rbHW7zpol8A"  # 注意：生产环境需保护API密钥，避免硬编码

# 2. 初始化Moonshot模型（基于OpenAILike适配）
model = OpenAILike(
    id="moonshot-v1-8k",  # 模型ID需与Moonshot API支持的一致
    api_key=api_key,
    base_url="https://api.moonshot.cn/v1"  # Moonshot API基础地址
)

# 3. 初始化Agent
agent = Agent(model=model)

# 4. 核心：生成JSON格式响应并存入变量
# 提示词中明确要求输出JSON结构（包含modified_code字段），确保use_json_mode=True生效
prompt = (
    f"文本内容是{original_text}，请将其中的'IV'修改为'123132132132'，"
    "仅返回JSON格式结果，JSON需包含一个字段：'modified_code'，字段值为修改后的完整代码，无多余内容。"
)

# 调用agent.print_response生成响应，stream=False确保一次性获取完整结果，结果存入变量json_response
json_response = agent.run(
    prompt,
    stream=False,  # 关闭流式输出，确保能完整接收JSON
    use_json_mode=True  # 强制启用JSON模式，确保模型输出符合JSON格式
)

# 5. 验证结果（可选：打印变量查看内容）
print("存入变量的JSON结果：")
print(json_response.content)
import json
data = json.loads(json_response.content)
print(data['modified_code'])